Я дерусь потому, что дерусь
Незабвенная фраза Портоса “Я дерусь потому, что дерусь” приходит на ум, когда сталкиваешься с использованием новых технологий в современном IT.
В любой компании обязательно найдутся несколько задорных энтузиастов с горящими глазами, которые рады в новых проектах применять всё новомодное, только что увидевшее свет.
<Неинтересные Технические Подробности>
Апофеозом стал один из проектов, в котором я имею честь участвовать: там приложение состоит из 10 частей (4 бэкенда, запускаемых в Docker, и 6 фронтендов), разбитых таким образом, что каждая часть отвечает за что-то своё, но в итоге сделано, как письмо родителям в мультике про Простоквашино – судя по всему, каждый, принимавший участие, привнёс в проект что-то своё в плане технологий: одновременно используются Postgres и MongoDB (да ещё и с GraphQL), бэкенд частично на Ruby, частично на Elixir, сейчас энтузиасты допиливают какую-то часть с Java и Kafka. Некоторые фронтендовские подсистемы используют React, некоторые – диковинный Ember JS, сверху всё присыпано CoffeeScript. Странно, что Angular отсутствует, он в этом зоопарке был бы очень кстати, в плане создания полного хаоса.
Естественно, запустить проект вот так вот сразу не удаётся никому, в том числе нескольким отцам-основателям. Документации, само собой, нет. Вот что найдёшь в гитхабовском readme, на то и уповаешь. Каждый из подпроектов требует свою версию NodeJS, они часто конфликтуют между собой (скажем, какая-то часть требует node 4.4.7, но одновременно чтоб точно не было установлено ничего выше node 12, ибо всё с грохотом рассыпается, другая подсистема требует противоположного), в итоге приходится запускать несколько процессов, каждый из которых изолированно чистит систему под себя и устанавливает что-то своё, но все эти подсистемы бегут в своих потоках и друг с другом никак не пересекаются.
</Неинтересные Технические Подробности>
* * *
И вот возникает у меня старческий вопрос: а по большому счёту, нахрена нужны новые технологии?
Есть, конечно, некие глобально великие вещи, вроде того же ChatGPT, но они, скорее, исключение.
А вот зачем использовать что-то совсем новое, если текущую задачу вполне можно решить и старыми инструментами? К чему такое количество фреймворков, я вас спрашиваю?
С одной стороны, страдают девелоперы: как-то задолбало уже каждые 5 лет глобально переучиваться (а всё, что знал 10 лет назад, становится совершенно ненужным), а с другой – страдают и компании: кроме общей нестабильности системы, также потом хрен найдёшь кого-то, кто в долгосрочной перспективе сможет этот весь зоопарк поддерживать.
Похвастайтесь какой-то новой технологией, которую вы освоили за последние полгода.
Я, скажем, разобрался с GraphQL.
Ууу, это большой проект у вас! Я пишу маленькие интранет странички или API на asp.net core. Технологию сам выбираю, у нас в этом плане красота (почти полная свобода). Вот недавно узнал о gRPC. Жду возможность когда смогу применить 🙂
Чем больше проект, тем легче в нём затеряться 🙂
Это точно